﻿/*----------------------------------------------------------------
 * 版权所有 (c) 2025 HaiTangYunchi  保留所有权利
 * CLR版本：4.0.30319.42000
 * 公司名称：
 * 命名空间：SalaryCalculator.lib
 * 唯一标识：82834724-48fb-42a8-a9cb-5aeb3eab260e
 * 文件名：WorkRecord
 * 
 * 创建者：海棠云螭
 * 电子邮箱：haitangyunchi@126.com
 * 创建时间：2025/5/10 20:14:27
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SalaryCalculator
{
    /// <summary>
    /// 工作记录数据模型
    /// </summary>
    public class WorkRecord
    {
        public int Id { get; set; }
        public int EmployeeId { get; set; }
        public DateTime WorkDate { get; set; }
        public TimeSpan StartTime { get; set; }
        public TimeSpan EndTime { get; set; }
        public int BreakMinutes { get; set; }
        public bool IsSettled { get; set; }

        /// <summary>
        /// 计算每日工时（小时）
        /// </summary>
        public double WorkHours
        {
            get
            {
                var totalMinutes = (EndTime - StartTime).TotalMinutes - BreakMinutes;
                return Math.Max(0, totalMinutes) / 60.0;
            }
        }

        /// <summary>
        /// 计算每日工资
        /// </summary>
        public decimal DailyWage(Employee employee)
        {
            return (decimal)WorkHours * employee.HourlyRate;
        }
    }
}